package com.ebarlas.fractal.compile;

import org.apache.bcel.generic.ConstantPoolGen;
import org.apache.bcel.generic.InstructionFactory;
import org.apache.bcel.generic.InstructionList;

import com.ebarlas.fractal.util.ArrayStack;
import com.ebarlas.fractal.util.Complex;

public interface StackCommand {
    int produced();
    int consumed();
    void compileConstructor(ConstantPoolGen cp, InstructionList il, InstructionFactory factory);
    void compileExecute(ConstantPoolGen cp, InstructionList il, InstructionFactory factory);
    void interpret(ArrayStack<Complex> stack);    
}
